package com.authine.cloudpivot.ext.BO;

import com.authine.hermes.app.todo.dto.todo.TodoType;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;

/**
 * author harry
 * dept: cloudpivot
 * date : 2020/8/20
 * des:
 */
@Setter
@Getter
public class TodoBO   {
    private String id;
    private Date finishTime;
    private Date receiveTime;
    private Date startTime;
    private String activityCode;
    private String activityName;
    private Date allowedTime;
    private String appCode;
    private String appVersion;
    private String departmentId;
    private String departmentName;
    private String sheetCode;
    private String instanceId;
    private String instanceName;
    private String originator;
    private String originatorName;
    private String participant;
    private String participantName;
    private Long sortKey;
    private String sourceId;
    private String sourceName;
    private String state;
    private String timeoutStrategy;
    private Date timeoutWarn1;
    private Date timeoutWarn2;
    private Long usedtime;
    /**
     *  @ApiModelProperty("类型： 0-普通，1-转办，2-协办，3-加签，4-传阅，5-子流程")
     */
    private String workItemType;
    private String workflowCode;
    private String workflowName;
    private String workflowTokenId;
    private Integer workflowVersion;
    /**
     *  是否是委托
     */
    private Boolean isTrust;

    /**
     * 委托人id
     */
    private String trustor;

    /**
     * 委托人名称
     */
    private String trustorName;

    /**
     * 是否被催办
     */
    private Boolean isUrging;

    /**
     * 催办人Id
     */
    private String reminderId;

    /**
     * 催办人名称
     */
    private String reminderName;

    /**
     * 催办时间
     */
    private Date remindTime;

    /**
     * 待办类型：1-待办，2-待阅，3-已办，4-已阅
     */
    private TodoType todoType;
    /**
	 * [{
	 *     pageCode： 页面编码，
	 *     appCode： 应用编码，
	 *     groupCode： 分组编码，
	 *     moduleCode：模块编码，
	 *     pageGroupCode：页面分组编码
	 *     pageType：客户端页面类型，响应式 ALL, pc端 PC, 移动端 MOBILE
	 * }]
     */
    private String pageJson;

    private String instanceState;
    private Date instanceStartTime;

    /**
     * AGREE("同意", 1),
     * REJECT("驳回", 2),
     * FORWARD("转办", 3),
     * CANCELLED("被取消", 4),
     * UNDO("未处理", 5);
     */
    private String approval;
}
